package xyz.quanguanjia.masterboy;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MBDTimeUtils {

    // 根据后台时间戳返回几分钟前，几小时前，几天前
    public static String updateTimeToCurrentTime(double timeStamp) {
        // 获取当前的时间戳
        double currentTime = System.currentTimeMillis() / 1000.0;

        // 时间差
        double reduceTime = currentTime - timeStamp;

        // 时间差小于60秒
        if (reduceTime < 60) {
            return "刚刚";
        }

        // 时间差大于一分钟小于60分钟内
        int mins = (int) (reduceTime / 60);
        if (mins < 60) {
            return mins + "分钟前";
        }

        // 时间差大于一小时小于24小时内
        int hours = (int) (reduceTime / 3600);
        if (hours < 24) {
            return hours + "小时前";
        }

        // 时间差大于一天小于30天内
        int days = (int) (reduceTime / 3600 / 24);
        if (days < 30) {
            return days + "天前";
        }

        // 时间差大于30天小于12个月内
        int months = (int) (reduceTime / 3600 / 24 / 30);
        if (months < 12) {
            // 不满足上述条件---或者是未来日期-----直接返回日期
            Date date = new Date((long) (timeStamp * 1000));
            SimpleDateFormat dateFormat = new SimpleDateFormat("MM月dd日");
            return dateFormat.format(date);
        }

        // 不满足上述条件---或者是未来日期-----直接返回日期
        Date date = new Date((long) (timeStamp * 1000));
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        return dateFormat.format(date);
    }

    // 时间转时间戳函数
    public static double timeToTimeStamp(String time) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date date = dateFormat.parse(time);
            return date.getTime() / 1000.0;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return 0;
    }

    // 时间转当前时间
    public static String timeToCurrentTime(String time) {
        double timeStamp = timeToTimeStamp(time);
        return updateTimeToCurrentTime(timeStamp);
    }
}

